package com.wms.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 调拨入库查询条件DTO; (用于分页和条件查询，继承PageVo以支持分页)
 */
@Api("调拨入库返回条件")
@Data
public class AllocateInVo{
    /** id (主键，自增) */
    @ApiModelProperty(name = "id", notes = "主键ID", example = "1")
    private Integer id;

    /** 调拨入库单号 (如 DR18011200001) */
    @ApiModelProperty(name = "allocateInCode", notes = "调拨入库的唯一编码", example = "DR18011200001")
    private String allocateInCode;

    /** TS调出单号 (如 DC18011200001) */
    @ApiModelProperty(name = "tsallocateInCode", notes = "对应的TS调出单号", example = "DC18011200001")
    private String tsallocateInCode;

    /** 调出仓库 */
    @ApiModelProperty(name = "outName", notes = "商品调出的仓库名称", example = "调出仓库1")
    private String outName;

    /** 调入仓库 */
    @ApiModelProperty(name = "inName", notes = "商品调入的仓库名称", example = "调入仓库1")
    private String inName;

    /** 入库时间 */
    @ApiModelProperty(name = "inTime", notes = "商品入库的时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING)
    private LocalDateTime inTime;

    /** 发送日期 */
    @ApiModelProperty(name = "sendTime", notes = "调拨发送的时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING)
    private LocalDateTime sendTime;

    /** 收货人 */
    @ApiModelProperty(name = "harvestName", notes = "接收调拨的收货人", example = "收货人1")
    private String harvestName;

    /** 温区 (如 冷冻、常温) */
    @ApiModelProperty(name = "warmzone")
    private String warmzone;

    /** 数量 */
    @ApiModelProperty(name = "num", notes = "商品数量", example = "3")
    private Integer num;

    /** 调拨人 */
    @ApiModelProperty(name = "allocateName", notes = "负责调拨的操作人", example = "liyuxuan")
    private String allocateName;

    /** 状态 */
    @ApiModelProperty(name = "allocateName", notes = "负责调拨的操作人", example = "liyuxuan")
    private Integer status;
}